<?php

namespace Mouta\SeowebBundle\Entity;

use Symfony\Component\Security\Core\User\UserInterface;
use Doctrine\ORM\Mapping as ORM;

/**
 * Mouta\SeowebBundle\Entity\Usuario
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class Usuario implements UserInterface
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string $nombre
     *
     * @ORM\Column(name="nombre", type="string", length=255)
     */
    private $nombre;

    /**
     * @var string $apellido
     *
     * @ORM\Column(name="apellido", type="string", length=255)
     */
    private $apellido;

    /**
     * @var string $email
     *
     * @ORM\Column(name="email", type="string", length=255)
     */
    private $email;

    /**
     * @var string $password
     *
     * @ORM\Column(name="password", type="string", length=255)
     */
    private $password;

    /**
     * @var \DateTime $fecha_alta
     *
     * @ORM\Column(name="fecha_alta", type="datetime")
     */
    private $fecha_alta;

    /**
     * @var \DateTime $fecha_ultimo_login
     *
     * @ORM\Column(name="fecha_ultimo_login", type="datetime")
     */
    private $fecha_ultimo_login;

    /**
     * @var \DateTime $fecha_nacimiento
     *
     * @ORM\Column(name="fecha_nacimiento", type="datetime")
     */
    private $fecha_nacimiento;

    /**
     * @var string $ip
     *
     * @ORM\Column(name="ip", type="string", length=255)
     */
    private $ip;

    /**
     * @var integer $credito
     *
     * @ORM\Column(name="credito", type="integer")
     */
    private $credito;
    
    /**
     * @var string $pagina
     *
     * @ORM\OneToMany(targetEntity="Mouta\SeowebBundle\Entity\Pagina", mappedBy="usuario")
     */
    
    private $pagina;
    
    /**
     * @var string $click
     *
     * @ORM\OneToMany(targetEntity="Mouta\SeowebBundle\Entity\Click", mappedBy="usuario")
     */
    
    private $click;
    

    
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->pagina = new \Doctrine\Common\Collections\ArrayCollection();
        $this->fecha_alta= new \DateTime();
        $this->fecha_ultimo_login= new \DateTime();
        $this->fecha_nacimiento= new \DateTime();
        $this->ip= 0000;
        $this->credito= 0;
    }
    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nombre
     *
     * @param string $nombre
     * @return Usuario
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    
        return $this;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }

    /**
     * Set apellido
     *
     * @param string $apellido
     * @return Usuario
     */
    public function setApellido($apellido)
    {
        $this->apellido = $apellido;
    
        return $this;
    }

    /**
     * Get apellido
     *
     * @return string 
     */
    public function getApellido()
    {
        return $this->apellido;
    }

    /**
     * Set email
     *
     * @param string $email
     * @return Usuario
     */
    public function setEmail($email)
    {
        $this->email = $email;
    
        return $this;
    }

    /**
     * Get email
     *
     * @return string 
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set password
     *
     * @param string $password
     * @return Usuario
     */
    public function setPassword($password)
    {
        $this->password = $password;
    
        return $this;
    }

    /**
     * Get password
     *
     * @return string 
     */
    public function getPassword()
    {
        return $this->password;
    }

    /**
     * Set fecha_alta
     *
     * @param \DateTime $fechaAlta
     * @return Usuario
     */
    public function setFechaAlta($fechaAlta)
    {
        $this->fecha_alta = $fechaAlta;
    
        return $this;
    }

    /**
     * Get fecha_alta
     *
     * @return \DateTime 
     */
    public function getFechaAlta()
    {
        return $this->fecha_alta;
    }

    /**
     * Set fecha_ultimo_login
     *
     * @param \DateTime $fechaUltimoLogin
     * @return Usuario
     */
    public function setFechaUltimoLogin($fechaUltimoLogin)
    {
        $this->fecha_ultimo_login = $fechaUltimoLogin;
    
        return $this;
    }

    /**
     * Get fecha_ultimo_login
     *
     * @return \DateTime 
     */
    public function getFechaUltimoLogin()
    {
        return $this->fecha_ultimo_login;
    }

    /**
     * Set fecha_nacimiento
     *
     * @param \DateTime $fechaNacimiento
     * @return Usuario
     */
    public function setFechaNacimiento($fechaNacimiento)
    {
        $this->fecha_nacimiento = $fechaNacimiento;
    
        return $this;
    }

    /**
     * Get fecha_nacimiento
     *
     * @return \DateTime 
     */
    public function getFechaNacimiento()
    {
        return $this->fecha_nacimiento;
    }

    /**
     * Set ip
     *
     * @param string $ip
     * @return Usuario
     */
    public function setIp($ip)
    {
        $this->ip = $ip;
    
        return $this;
    }

    /**
     * Get ip
     *
     * @return string 
     */
    public function getIp()
    {
        return $this->ip;
    }

    /**
     * Set credito
     *
     * @param integer $credito
     * @return Usuario
     */
    public function setCredito($credito)
    {
        $this->credito = $credito;
    
        return $this;
    }

    /**
     * Get credito
     *
     * @return integer 
     */
    public function getCredito()
    {
        return $this->credito;
    }

    /**
     * Add pagina
     *
     * @param Mouta\SeowebBundle\Entity\Pagina $pagina
     * @return Usuario
     */
    public function addPagina(\Mouta\SeowebBundle\Entity\Pagina $pagina)
    {
        $this->pagina[] = $pagina;
    
        return $this;
    }

    /**
     * Remove pagina
     *
     * @param Mouta\SeowebBundle\Entity\Pagina $pagina
     */
    public function removePagina(\Mouta\SeowebBundle\Entity\Pagina $pagina)
    {
        $this->pagina->removeElement($pagina);
    }

    /**
     * Get pagina
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getPagina()
    {
        return $this->pagina;
    }

    /**
     * Add click
     *
     * @param Mouta\SeowebBundle\Entity\Click $click
     * @return Usuario
     */
    public function addClick(\Mouta\SeowebBundle\Entity\Click $click)
    {
        $this->click[] = $click;
    
        return $this;
    }

    /**
     * Remove click
     *
     * @param Mouta\SeowebBundle\Entity\Click $click
     */
    public function removeClick(\Mouta\SeowebBundle\Entity\Click $click)
    {
        $this->click->removeElement($click);
    }

    /**
     * Get click
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getClick()
    {
        return $this->click;
    }
    
    function eraseCredentials() 
    {
        ;
    }
    function getRoles() 
    {
        return array('ROLE_USUARIO');
    }
    function getUsername() 
    {
        return $this->getEmail();
    }
    function getSalt() 
    {
        return "";
    }
    
    public function __toString()
    {
        return $this->getNombre();
    }
    
}